package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.BuyBean;
import com.project.bean.SaleBean;

import java.time.LocalDate;

/**
 * 销售订单业务接口
 */
public interface ISaleService {

    /**
     * 添加销售记录
     * 1. 创建销售订单
     * 2. 根据用户id查询出库车信息
     * 3. 根据销售信息，添加到销售明细。用商品id，修改库存商品的库存数量
     * 4. 清空出库车。
     * @param sale 销售对象
     */
    public void add(SaleBean sale,Integer userId) ;

    /**
     * 动态分页查询销售订单
     * @param pageNO 页码
     * @param client 客户名
     * @param startDate 起始日期
     * @param endDate 结束日期
     * @return 销售订单分页对象
     */
    public IPage<SaleBean> cutByItem(Integer pageNO, String client,
                                     LocalDate startDate,LocalDate endDate);

    /**
     * 按编号查询销售订单
     * @param id 编号
     * @return 销售订单对象
     */
    public SaleBean findById(Integer id);

    /**
     * 获销售总价
     * @param userId 用户编号
     * @return 总价
     */
    public Integer getTotalByUser(Integer userId);

}
